// Charge tout les modules comme SDL2


#ifndef LIGHT_INIT_MODULES_H 
#define LIGHT_INIT_MODULES_H

#include <SDL.h>
#include <SDL_mixer.h>
#include <SDL_ttf.h>
#include <SDL_image.h>
#include <GL/glew.h>
#include "Light_Debug.h"

int Light_Init(){
	
  if(SDL_Init(SDL_INIT_TIMER | SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER | SDL_INIT_EVENTS)==-1){
    
	Light_PrintDebug("Erreur d'initiation : Impossible d'appeler les modules sdl2 !");  
	return 1;
  
  }
  
  if(TTF_Init()==-1){
  
    Light_PrintDebug("Erreur d'initiation : Impossible d'appeler sdl2 ttf !");
    return 1;
  
  }
  
  if(Mix_Init(MIX_INIT_MP3 | MIX_INIT_OGG)==-1){
  
    Light_PrintDebug("Erreur d'initiation : Impossible d'appeler sdl2 mix !");
    return 1;
  
  }
  
  if(Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 1024)==-1){

    Light_PrintDebug("Erreur d'initiation : Impossible d'appeler sdl2 mix open audio !");
    return 1;
          
  }
  
  Mix_AllocateChannels(32);
  
  if(IMG_Init(IMG_INIT_PNG | IMG_INIT_JPG)==-1){
  
    Light_PrintDebug("Erreur d'initiation : Impossible d'appeler sdl2 image !");
    return 1;
  
  }
  
  return 0;

}

void Light_Quit(){

  Light_PrintDebug("Fermeture...");
  Mix_CloseAudio();
  Mix_Quit();
  TTF_Quit();
  IMG_Quit();	
  SDL_Quit();
	
}

#endif
